home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / g_quake / dpt106.zip / PLAYER.QC < prev    next >
Text File  |  1996-11-09  |  23KB  |  681 lines

  1.  
  2. void() bubble_bob;
  3. void() W_FireAxe;
  4. void() player_chain5;
  5. void() player_chain4;
  6.  
  7. /*
  8. ==============================================================================
  9.  
  10. PLAYER
  11.  
  12. ==============================================================================
  13. */
  14.  
  15. $cd /raid/quake/id1/models/player_4
  16. $origin 0 -6 24
  17. $base base
  18. $skin skin
  19.  
  20. //
  21. // running
  22. //
  23. $frame axrun1 axrun2 axrun3 axrun4 axrun5 axrun6
  24.  
  25. $frame rockrun1 rockrun2 rockrun3 rockrun4 rockrun5 rockrun6
  26.  
  27. //
  28. // standing
  29. //
  30. $frame stand1 stand2 stand3 stand4 stand5
  31.  
  32. $frame axstnd1 axstnd2 axstnd3 axstnd4 axstnd5 axstnd6
  33. $frame axstnd7 axstnd8 axstnd9 axstnd10 axstnd11 axstnd12
  34.  
  35.  
  36. //
  37. // pain
  38. //
  39. $frame axpain1 axpain2 axpain3 axpain4 axpain5 axpain6
  40.  
  41. $frame pain1 pain2 pain3 pain4 pain5 pain6
  42.  
  43.  
  44. //
  45. // death
  46. //
  47.  
  48. $frame axdeth1 axdeth2 axdeth3 axdeth4 axdeth5 axdeth6
  49. $frame axdeth7 axdeth8 axdeth9
  50.  
  51. $frame deatha1 deatha2 deatha3 deatha4 deatha5 deatha6 deatha7 deatha8
  52. $frame deatha9 deatha10 deatha11
  53.  
  54. $frame deathb1 deathb2 deathb3 deathb4 deathb5 deathb6 deathb7 deathb8
  55. $frame deathb9
  56.  
  57. $frame deathc1 deathc2 deathc3 deathc4 deathc5 deathc6 deathc7 deathc8
  58. $frame deathc9 deathc10 deathc11 deathc12 deathc13 deathc14 deathc15
  59.  
  60. $frame deathd1 deathd2 deathd3 deathd4 deathd5 deathd6 deathd7
  61. $frame deathd8 deathd9
  62.  
  63. $frame deathe1 deathe2 deathe3 deathe4 deathe5 deathe6 deathe7
  64. $frame deathe8 deathe9
  65.  
  66. //
  67. // attacks
  68. //
  69. $frame nailatt1 nailatt2
  70.  
  71. $frame light1 light2
  72.  
  73. $frame rockatt1 rockatt2 rockatt3 rockatt4 rockatt5 rockatt6
  74.  
  75. $frame shotatt1 shotatt2 shotatt3 shotatt4 shotatt5 shotatt6
  76.  
  77. $frame axatt1 axatt2 axatt3 axatt4 axatt5 axatt6
  78.  
  79. $frame axattb1 axattb2 axattb3 axattb4 axattb5 axattb6
  80.  
  81. $frame axattc1 axattc2 axattc3 axattc4 axattc5 axattc6
  82.  
  83. $frame axattd1 axattd2 axattd3 axattd4 axattd5 axattd6
  84.  
  85.  
  86. /*
  87. ==============================================================================
  88. PLAYER
  89. ==============================================================================
  90. */
  91.  
  92. void() player_run;
  93.  
  94. void()  player_stand1 =[        $axstnd1,       player_stand1   ]
  95. {
  96.         self.weaponframe=0;
  97.         if (self.velocity_x || self.velocity_y)
  98.         {
  99.                 self.walkframe=0;
  100.                 player_run();
  101.                 return;
  102.         }
  103.  
  104.         if (self.weapon == IT_AXE)
  105.         {
  106.                 if (self.walkframe >= 12)
  107.                         self.walkframe = 0;
  108.                 self.frame = $axstnd1 + self.walkframe;
  109.         }
  110.         else
  111.         {
  112.                 if (self.walkframe >= 5)
  113.                         self.walkframe = 0;
  114.                 self.frame = $stand1 + self.walkframe;
  115.         }
  116.         self.walkframe = self.walkframe + 1;
  117. };
  118.  
  119. void()  player_run =[   $rockrun1,      player_run      ]
  120. {
  121.         self.weaponframe=0;
  122.         if (!self.velocity_x && !self.velocity_y)
  123.         {
  124.                 self.walkframe=0;
  125.                 player_stand1();
  126.                 return;
  127.         }
  128.  
  129.         if (self.weapon == IT_AXE)
  130.         {
  131.                 if (self.walkframe == 6)
  132.                         self.walkframe = 0;
  133.                 self.frame = $axrun1 + self.walkframe;
  134.         }
  135.         else
  136.         {
  137.                 if (self.walkframe == 6)
  138.                         self.walkframe = 0;
  139.                 self.frame = self.frame + self.walkframe;
  140.         }
  141.         self.walkframe = self.walkframe + 1;
  142. };
  143.  
  144.  
  145. void()  player_shot1 =  [$shotatt1, player_shot2        ] {self.weaponframe=1;
  146. self.effects = self.effects | EF_MUZZLEFLASH;};
  147. void()  player_shot2 =  [$shotatt2, player_shot3        ] {self.weaponframe=2;};
  148. void()  player_shot3 =  [$shotatt3, player_shot4        ] {self.weaponframe=3;};
  149. void()  player_shot4 =  [$shotatt4, player_shot5        ] {self.weaponframe=4;};
  150. void()  player_shot5 =  [$shotatt5, player_shot6        ] {self.weaponframe=5;};
  151. void()  player_shot6 =  [$shotatt6, player_run  ] {self.weaponframe=6;};
  152.  
  153.  
  154. //==========Grappling Hook inserted by Piramida
  155. //==========Taken from Zoid
  156.  
  157. void()  player_chain1=  [$axattd1, player_chain2 ] {self.weaponframe=2;};
  158. void()  player_chain2=  [$axattd2, player_chain3 ] {self.weaponframe=3;W_FireAxe();};
  159.  
  160. void()  player_chain3=  [$axattd3, player_chain3 ]
  161. {
  162.         self.weaponframe=3;
  163.         if (!self.hook_out)
  164.         {
  165.                 player_chain5();
  166.                 return;
  167.         }
  168.         if (vlen(self.velocity) >= 750)
  169.         {
  170.                 player_chain4();
  171.                 return;
  172.         }
  173. };
  174.  
  175. void() player_chain4=  [$deathc4, player_chain4 ]
  176. {
  177.         self.weaponframe=4;
  178.         if (!self.hook_out)
  179.         {
  180.                 player_chain5();
  181.                 return;
  182.         }
  183.         if (vlen(self.velocity) < 750)
  184.         {
  185.                 player_chain3();
  186.                 return;
  187.         }
  188. };
  189.  
  190. void()  player_chain5=  [$axattd4, player_run    ] {self.weaponframe=5;};
  191.  
  192. //========End grappling hook====================================================================
  193.  
  194. void() player_nail1   =[$nailatt1, player_nail2  ]
  195. {
  196.         self.effects = self.effects | EF_MUZZLEFLASH;
  197.  
  198.         if (!self.button0)
  199.                 {player_run ();return;}
  200.         self.weaponframe = self.weaponframe + 1;
  201.         if (self.weaponframe == 9)
  202.                 self.weaponframe = 1;
  203.         SuperDamageSound();
  204.         W_FireSpikes (4);
  205.         self.attack_finished = time + 0.2;
  206. };
  207. void() player_nail2   =[$nailatt2, player_nail1  ]
  208. {
  209.         self.effects = self.effects | EF_MUZZLEFLASH;
  210.  
  211.         if (!self.button0)
  212.                 {player_run ();return;}
  213.         self.weaponframe = self.weaponframe + 1;
  214.         if (self.weaponframe == 9)
  215.                 self.weaponframe = 1;
  216.         SuperDamageSound();
  217.         W_FireSpikes (-4);
  218.         self.attack_finished = time + 0.2;
  219. };
  220.  
  221. //============================================================================
  222.  
  223. void() player_light1   =[$light1, player_light2  ]
  224. {
  225.         self.effects = self.effects | EF_MUZZLEFLASH;
  226.  
  227.         if (!self.button0)
  228.                 {player_run ();return;}
  229.         self.weaponframe = self.weaponframe + 1;
  230.         if (self.weaponframe == 5)
  231.                 self.weaponframe = 1;
  232.         SuperDamageSound();
  233.         W_FireLightning();
  234.         self.attack_finished = time + 0.2;
  235. };
  236. void() player_light2   =[$light2, player_light1  ]
  237. {
  238.         self.effects = self.effects | EF_MUZZLEFLASH;
  239.  
  240.         if (!self.button0)
  241.                 {player_run ();return;}
  242.         self.weaponframe = self.weaponframe + 1;
  243.         if (self.weaponframe == 5)
  244.                 self.weaponframe = 1;
  245.         SuperDamageSound();
  246.         W_FireLightning();
  247.         self.attack_finished = time + 0.2;
  248. };
  249.  
  250. //============================================================================
  251.  
  252.  
  253. void() player_rocket1   =[$rockatt1, player_rocket2  ] {self.weaponframe=1;
  254. self.effects = self.effects | EF_MUZZLEFLASH;};
  255. void() player_rocket2   =[$rockatt2, player_rocket3  ] {self.weaponframe=2;};
  256. void() player_rocket3   =[$rockatt3, player_rocket4  ] {self.weaponframe=3;};
  257. void() player_rocket4   =[$rockatt4, player_rocket5  ] {self.weaponframe=4;};
  258. void() player_rocket5   =[$rockatt5, player_rocket6  ] {self.weaponframe=5;};
  259. void() player_rocket6   =[$rockatt6, player_run  ] {self.weaponframe=6;};
  260. void(float num_bubbles) DeathBubbles;
  261.  
  262. void() PainSound =
  263. {
  264. local float             rs;
  265.  
  266.         if (self.health < 0)
  267.                 return;
  268.  
  269.         if (damage_attacker.classname == "teledeath")
  270.         {
  271.                 sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  272.                 return;
  273.         }
  274.  
  275. // water pain sounds
  276.         if (self.watertype == CONTENT_WATER && self.waterlevel == 3)
  277.         {
  278.                 DeathBubbles(1);
  279.                 if (random() > 0.5)
  280.                         sound (self, CHAN_VOICE, "player/drown1.wav", 1, ATTN_NORM);
  281.                 else
  282.                         sound (self, CHAN_VOICE, "player/drown2.wav", 1, ATTN_NORM);
  283.                 return;
  284.         }
  285.  
  286. // slime pain sounds
  287.         if (self.watertype == CONTENT_SLIME)
  288.         {
  289. // FIX ME       put in some steam here
  290.                 if (random() > 0.5)
  291.                         sound (self, CHAN_VOICE, "player/lburn1.wav", 1, ATTN_NORM);
  292.                 else
  293.                         sound (self, CHAN_VOICE, "player/lburn2.wav", 1, ATTN_NORM);
  294.                 return;
  295.         }
  296.  
  297.         if (self.watertype == CONTENT_LAVA)
  298.         {
  299.                 if (random() > 0.5)
  300.                         sound (self, CHAN_VOICE, "player/lburn1.wav", 1, ATTN_NORM);
  301.                 else
  302.                         sound (self, CHAN_VOICE, "player/lburn2.wav", 1, ATTN_NORM);
  303.                 return;
  304.         }
  305.  
  306.         if (self.pain_finished > time)
  307.         {
  308.                 self.axhitme = 0;
  309.                 return;
  310.         }
  311.         self.pain_finished = time + 0.5;
  312.  
  313. // don't make multiple pain sounds right after each other
  314.  
  315. // ax pain sound
  316.         if (self.axhitme == 1)
  317.         {
  318.                 self.axhitme = 0;
  319.                 sound (self, CHAN_VOICE, "player/axhit1.wav", 1, ATTN_NORM);
  320.                 return;
  321.         }
  322.  
  323.  
  324.         rs = rint((random() * 5) + 1);
  325.  
  326.         self.noise = "";
  327.         if (rs == 1)
  328.                 self.noise = "player/pain1.wav";
  329.         else if (rs == 2)
  330.                 self.noise = "player/pain2.wav";
  331.         else if (rs == 3)
  332.                 self.noise = "player/pain3.wav";
  333.         else if (rs == 4)
  334.                 self.noise = "player/pain4.wav";
  335.         else if (rs == 5)
  336.                 self.noise = "player/pain5.wav";
  337.         else
  338.                 self.noise = "player/pain6.wav";
  339.  
  340.         sound (self, CHAN_VOICE, self.noise, 1, ATTN_NORM);
  341.         return;
  342. };
  343.  
  344. void()  player_pain1 =  [       $pain1, player_pain2    ] {PainSound();self.weaponframe=0;};
  345. void()  player_pain2 =  [       $pain2, player_pain3    ] {};
  346. void()  player_pain3 =  [       $pain3, player_pain4    ] {};
  347. void()  player_pain4 =  [       $pain4, player_pain5    ] {};
  348. void()  player_pain5 =  [       $pain5, player_pain6    ] {};
  349. void()  player_pain6 =  [       $pain6, player_run      ] {};
  350.  
  351. void()  player_axpain1 =        [       $axpain1,       player_axpain2  ] {PainSound();self.weaponframe=0;};
  352. void()  player_axpain2 =        [       $axpain2,       player_axpain3  ] {};
  353. void()  player_axpain3 =        [       $axpain3,       player_axpain4  ] {};
  354. void()  player_axpain4 =        [       $axpain4,       player_axpain5  ] {};
  355. void()  player_axpain5 =        [       $axpain5,       player_axpain6  ] {};
  356. void()  player_axpain6 =        [       $axpain6,       player_run      ] {};
  357.  
  358. void() player_pain =
  359. {
  360.         if (self.weaponframe)
  361.                 return;
  362.  
  363.         if (self.invisible_finished > time)
  364.                 return;         // eyes don't have pain frames
  365.  
  366.         if (self.weapon == IT_AXE)
  367.                 player_axpain1 ();
  368.         else
  369.                 player_pain1 ();
  370. };
  371.  
  372. void() player_diea1;
  373. void() player_dieb1;
  374. void() player_diec1;
  375. void() player_died1;
  376. void() player_diee1;
  377. void() player_die_ax1;
  378.  
  379. void() DeathBubblesSpawn =
  380. {
  381. local entity    bubble;
  382.         if (self.owner.waterlevel != 3)
  383.                 return;
  384.         bubble = spawn();
  385.         setmodel (bubble, "progs/s_bubble.spr");
  386.         setorigin (bubble, self.owner.origin + '0 0 24');
  387.         bubble.movetype = MOVETYPE_NOCLIP;
  388.         bubble.solid = SOLID_NOT;
  389.         bubble.velocity = '0 0 15';
  390.         bubble.nextthink = time + 0.5;
  391.         bubble.think = bubble_bob;
  392.         bubble.classname = "bubble";
  393.         bubble.frame = 0;
  394.         bubble.cnt = 0;
  395.         setsize (bubble, '-8 -8 -8', '8 8 8');
  396.         self.nextthink = time + 0.1;
  397.         self.think = DeathBubblesSpawn;
  398.         self.air_finished = self.air_finished + 1;
  399.         if (self.air_finished >= self.bubble_count)
  400.                 remove(self);
  401. };
  402.  
  403. void(float num_bubbles) DeathBubbles =
  404. {
  405. local entity    bubble_spawner;
  406.  
  407.         bubble_spawner = spawn();
  408.         setorigin (bubble_spawner, self.origin);
  409.         bubble_spawner.movetype = MOVETYPE_NONE;
  410.         bubble_spawner.solid = SOLID_NOT;
  411.         bubble_spawner.nextthink = time + 0.1;
  412.         bubble_spawner.think = DeathBubblesSpawn;
  413.         bubble_spawner.air_finished = 0;
  414.         bubble_spawner.owner = self;
  415.         bubble_spawner.bubble_count = num_bubbles;
  416.         return;
  417. };
  418.  
  419.  
  420. void() DeathSound =
  421. {
  422. local float             rs;
  423.  
  424.         // water death sounds
  425.         if (self.waterlevel == 3)
  426.         {
  427.                 DeathBubbles(20);
  428.                 sound (self, CHAN_VOICE, "player/h2odeath.wav", 1, ATTN_NONE);
  429.                 return;
  430.         }
  431.  
  432.         rs = rint ((random() * 4) + 1);
  433.         if (rs == 1)
  434.                 self.noise = "player/death1.wav";
  435.         if (rs == 2)
  436.                 self.noise = "player/death2.wav";
  437.         if (rs == 3)
  438.                 self.noise = "player/death3.wav";
  439.         if (rs == 4)
  440.                 self.noise = "player/death4.wav";
  441.         if (rs == 5)
  442.                 self.noise = "player/death5.wav";
  443.  
  444.         sound (self, CHAN_VOICE, self.noise, 1, ATTN_NONE);
  445.         return;
  446. };
  447.  
  448.  
  449. void() PlayerDead =
  450. {
  451.         self.nextthink = -1;
  452. // allow respawn after a certain time
  453.         self.deadflag = DEAD_DEAD;
  454. };
  455.  
  456. vector(float dm) VelocityForDamage =
  457. {
  458.         local vector v;
  459.  
  460.         v_x = 100 * crandom();
  461.         v_y = 100 * crandom();
  462.         v_z = 200 + 100 * random();
  463.  
  464.         if (dm > -50)
  465.         {
  466. //              dprint ("level 1\n");
  467.                 v = v * 0.7;
  468.         }
  469.         else if (dm > -200)
  470.         {
  471. //              dprint ("level 3\n");
  472.                 v = v * 2;
  473.         }
  474.         else
  475.                 v = v * 10;
  476.  
  477.         return v;
  478. };
  479.  
  480. void(string gibname, float dm) ThrowGib =
  481. {
  482.         local   entity new;
  483.  
  484.         new = spawn();
  485.         new.origin = self.origin;
  486.         setmodel (new, gibname);
  487.         setsize (new, '0 0 0', '0 0 0');
  488.         new.velocity = VelocityForDamage (dm);
  489.         new.movetype = MOVETYPE_BOUNCE;
  490.         new.solid = SOLID_NOT;
  491.         new.avelocity_x = random()*600;
  492.         new.avelocity_y = random()*600;
  493.         new.avelocity_z = random()*600;
  494.         new.think = SUB_Remove;
  495.         new.ltime = time;
  496.         new.nextthink = time + 10 + random()*10;
  497.         new.frame = 0;
  498.         new.flags = 0;
  499. };
  500.  
  501. void(string gibname, float dm) ThrowHead =
  502. {
  503.         setmodel (self, gibname);
  504.         self.frame = 0;
  505.         self.nextthink = -1;
  506.         self.movetype = MOVETYPE_BOUNCE;
  507.         self.takedamage = DAMAGE_NO;
  508.         self.solid = SOLID_NOT;
  509.         self.view_ofs = '0 0 8';
  510.         setsize (self, '-16 -16 0', '16 16 56');
  511.         self.velocity = VelocityForDamage (dm);
  512.         self.origin_z = self.origin_z - 24;
  513.         self.flags = self.flags - (self.flags & FL_ONGROUND);
  514.         self.avelocity = crandom() * '0 600 0';
  515. };
  516.  
  517.  
  518. void() GibPlayer =
  519. {
  520.         ThrowHead ("progs/h_player.mdl", self.health);
  521.         ThrowGib ("progs/gib1.mdl", self.health);
  522.         ThrowGib ("progs/gib2.mdl", self.health);
  523.         ThrowGib ("progs/gib3.mdl", self.health);
  524.  
  525.         self.deadflag = DEAD_DEAD;
  526.  
  527.         if (damage_attacker.classname == "teledeath")
  528.         {
  529.                 sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  530.                 return;
  531.         }
  532.  
  533.         if (damage_attacker.classname == "teledeath2")
  534.         {
  535.                 sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  536.                 return;
  537.         }
  538.  
  539.         if (random() < 0.5)
  540.                 sound (self, CHAN_VOICE, "player/gib.wav", 1, ATTN_NONE);
  541.         else
  542.                 sound (self, CHAN_VOICE, "player/udeath.wav", 1, ATTN_NONE);
  543. };
  544.  
  545. void() PlayerDie =
  546. {
  547.         local   float   i;
  548.  
  549.         self.items = self.items - (self.items & IT_INVISIBILITY);
  550.         self.invisible_finished = 0;    // don't die as eyes
  551.         self.invincible_finished = 0;
  552.         self.super_damage_finished = 0;
  553.         self.radsuit_finished = 0;
  554.         self.modelindex = modelindex_player;    // don't use eyes
  555.  
  556.         if (deathmatch || coop)
  557.                 DropBackpack();
  558.  
  559.         self.weaponmodel="";
  560.         self.view_ofs = '0 0 -8';
  561.         self.deadflag = DEAD_DYING;
  562.         self.solid = SOLID_NOT;
  563.         self.flags = self.flags - (self.flags & FL_ONGROUND);
  564.         self.movetype = MOVETYPE_TOSS;
  565.         if (self.velocity_z < 10)
  566.                 self.velocity_z = self.velocity_z + random()*300;
  567.  
  568.         if (self.health < -40)
  569.         {
  570.                 GibPlayer ();
  571.                 return;
  572.         }
  573.  
  574.         DeathSound();
  575.  
  576.         self.angles_x = 0;
  577.         self.angles_z = 0;
  578.  
  579.         if (self.weapon == IT_AXE)
  580.         {
  581.                 player_die_ax1 ();
  582.                 return;
  583.         }
  584.  
  585.         i = cvar("temp1");
  586.         if (!i)
  587.                 i = 1 + floor(random()*6);
  588.  
  589.         if (i == 1)
  590.                 player_diea1();
  591.         else if (i == 2)
  592.                 player_dieb1();
  593.         else if (i == 3)
  594.                 player_diec1();
  595.         else if (i == 4)
  596.                 player_died1();
  597.         else
  598.                 player_diee1();
  599.  
  600. };
  601.  
  602. void() set_suicide_frame =
  603. {       // used by klill command and diconnect command
  604.         if (self.model != "progs/player.mdl")
  605.                 return; // allready gibbed
  606.         self.frame = $deatha11;
  607.         self.solid = SOLID_NOT;
  608.         self.movetype = MOVETYPE_TOSS;
  609.         self.deadflag = DEAD_DEAD;
  610.         self.nextthink = -1;
  611. };
  612.  
  613.  
  614. void()  player_diea1    =       [       $deatha1,       player_diea2    ] {};
  615. void()  player_diea2    =       [       $deatha2,       player_diea3    ] {};
  616. void()  player_diea3    =       [       $deatha3,       player_diea4    ] {};
  617. void()  player_diea4    =       [       $deatha4,       player_diea5    ] {};
  618. void()  player_diea5    =       [       $deatha5,       player_diea6    ] {};
  619. void()  player_diea6    =       [       $deatha6,       player_diea7    ] {};
  620. void()  player_diea7    =       [       $deatha7,       player_diea8    ] {};
  621. void()  player_diea8    =       [       $deatha8,       player_diea9    ] {};
  622. void()  player_diea9    =       [       $deatha9,       player_diea10   ] {};
  623. void()  player_diea10   =       [       $deatha10,      player_diea11   ] {};
  624. void()  player_diea11   =       [       $deatha11,      player_diea11 ] {PlayerDead();};
  625.  
  626. void()  player_dieb1    =       [       $deathb1,       player_dieb2    ] {};
  627. void()  player_dieb2    =       [       $deathb2,       player_dieb3    ] {};
  628. void()  player_dieb3    =       [       $deathb3,       player_dieb4    ] {};
  629. void()  player_dieb4    =       [       $deathb4,       player_dieb5    ] {};
  630. void()  player_dieb5    =       [       $deathb5,       player_dieb6    ] {};
  631. void()  player_dieb6    =       [       $deathb6,       player_dieb7    ] {};
  632. void()  player_dieb7    =       [       $deathb7,       player_dieb8    ] {};
  633. void()  player_dieb8    =       [       $deathb8,       player_dieb9    ] {};
  634. void()  player_dieb9    =       [       $deathb9,       player_dieb9    ] {PlayerDead();};
  635.  
  636. void()  player_diec1    =       [       $deathc1,       player_diec2    ] {};
  637. void()  player_diec2    =       [       $deathc2,       player_diec3    ] {};
  638. void()  player_diec3    =       [       $deathc3,       player_diec4    ] {};
  639. void()  player_diec4    =       [       $deathc4,       player_diec5    ] {};
  640. void()  player_diec5    =       [       $deathc5,       player_diec6    ] {};
  641. void()  player_diec6    =       [       $deathc6,       player_diec7    ] {};
  642. void()  player_diec7    =       [       $deathc7,       player_diec8    ] {};
  643. void()  player_diec8    =       [       $deathc8,       player_diec9    ] {};
  644. void()  player_diec9    =       [       $deathc9,       player_diec10   ] {};
  645. void()  player_diec10   =       [       $deathc10,      player_diec11   ] {};
  646. void()  player_diec11   =       [       $deathc11,      player_diec12   ] {};
  647. void()  player_diec12   =       [       $deathc12,      player_diec13   ] {};
  648. void()  player_diec13   =       [       $deathc13,      player_diec14   ] {};
  649. void()  player_diec14   =       [       $deathc14,      player_diec15   ] {};
  650. void()  player_diec15   =       [       $deathc15,      player_diec15 ] {PlayerDead();};
  651.  
  652. void()  player_died1    =       [       $deathd1,       player_died2    ] {};
  653. void()  player_died2    =       [       $deathd2,       player_died3    ] {};
  654. void()  player_died3    =       [       $deathd3,       player_died4    ] {};
  655. void()  player_died4    =       [       $deathd4,       player_died5    ] {};
  656. void()  player_died5    =       [       $deathd5,       player_died6    ] {};
  657. void()  player_died6    =       [       $deathd6,       player_died7    ] {};
  658. void()  player_died7    =       [       $deathd7,       player_died8    ] {};
  659. void()  player_died8    =       [       $deathd8,       player_died9    ] {};
  660. void()  player_died9    =       [       $deathd9,       player_died9    ] {PlayerDead();};
  661.  
  662. void()  player_diee1    =       [       $deathe1,       player_diee2    ] {};
  663. void()  player_diee2    =       [       $deathe2,       player_diee3    ] {};
  664. void()  player_diee3    =       [       $deathe3,       player_diee4    ] {};
  665. void()  player_diee4    =       [       $deathe4,       player_diee5    ] {};
  666. void()  player_diee5    =       [       $deathe5,       player_diee6    ] {};
  667. void()  player_diee6    =       [       $deathe6,       player_diee7    ] {};
  668. void()  player_diee7    =       [       $deathe7,       player_diee8    ] {};
  669. void()  player_diee8    =       [       $deathe8,       player_diee9    ] {};
  670. void()  player_diee9    =       [       $deathe9,       player_diee9    ] {PlayerDead();};
  671.  
  672. void()  player_die_ax1  =       [       $axdeth1,       player_die_ax2  ] {};
  673. void()  player_die_ax2  =       [       $axdeth2,       player_die_ax3  ] {};
  674. void()  player_die_ax3  =       [       $axdeth3,       player_die_ax4  ] {};
  675. void()  player_die_ax4  =       [       $axdeth4,       player_die_ax5  ] {};
  676. void()  player_die_ax5  =       [       $axdeth5,       player_die_ax6  ] {};
  677. void()  player_die_ax6  =       [       $axdeth6,       player_die_ax7  ] {};
  678. void()  player_die_ax7  =       [       $axdeth7,       player_die_ax8  ] {};
  679. void()  player_die_ax8  =       [       $axdeth8,       player_die_ax9  ] {};
  680. void()  player_die_ax9  =       [       $axdeth9,       player_die_ax9  ] {PlayerDead();};
  681.